package shujia.day11;

import java.util.HashMap;
import java.util.Map;

/*
    Map【接口】：每一个元素是由键和值构成

    1、在同一个Map集合中，键是唯一的，值可以发生重复
    2、Map的子类HashMap,TreeMap，其中的唯一性是针对键来说的

    Map接口中的方法：
        V put(K key,V value)
        V remove(Object key)
        void clear()
        boolean containsKey(Object key)
        boolean containsValue(Object value)
        boolean isEmpty()
        int size()

 */
public class MapDemo1 {
    public static void main(String[] args) {
        //借助Map子类HashMap来创建对象
        Map<Integer, String> map1 = new HashMap<>();

        //String put(Integer key,String value) // 返回被覆盖的旧值
        map1.put(1001, "张三");
        map1.put(1002, "李四");
        map1.put(1001, "王五");
        map1.put(1003, "赵六");

        System.out.println("map1: " + map1);

//        System.out.println("-----------------");
        //map1: {1001=王五, 1002=李四, 1003=赵六}
        //V remove(Object key) 根据键删除一个键值对, 返回对应的值
//        System.out.println(map1.remove(1001));
//        System.out.println("map1: " + map1);
//        System.out.println("-----------------");
//        //void clear() 清空map集合中所有的键值对元素
//        map1.clear();
//        System.out.println("map1: " + map1);
        System.out.println("-----------------");
        // boolean containsKey(Object key) 判断是否包含某个键
        System.out.println(map1.containsKey(1001));
        System.out.println("-----------------");
        // boolean containsValue(Object value) 判断是否包含某个值
        System.out.println(map1.containsValue("李四"));
        System.out.println("-----------------");
        //boolean isEmpty() 判断集合中是否有键值对
        System.out.println(map1.isEmpty());
        System.out.println("-----------------");
        // int size() 获取键值对个数
        System.out.println(map1.size());


    }
}
